package proy1sistdistribuidos.modelo.seguridad;

import java.math.BigInteger;
import java.security.PrivateKey;
import javax.crypto.SecretKey;

/**
 * Clase que guarda las estructuras de informacion requeridas para lograr un acuerdo de llaves comunes
 * @author Carlos Diaz Maya, Juan Felipe Garcia
 */
public class InformacionAcuerdoLlaves {
    private BigInteger q;
    private BigInteger g;
    private Integer l;
    private byte[] llavePublicaQueEnvio = null;
    private byte[] llavePublicaQueRecibo = null;
    private PrivateKey llavePrivada;
    private SecretKey llaveAcordada;

    public InformacionAcuerdoLlaves() {
        
    }

    /**
     * @return the q
     */
    public BigInteger getQ() {
        return q;
    }

    /**
     * @param q the q to set
     */
    public void setQ(BigInteger q) {
        this.q = q;
    }

    /**
     * @return the g
     */
    public BigInteger getG() {
        return g;
    }

    /**
     * @param g the g to set
     */
    public void setG(BigInteger g) {
        this.g = g;
    }

    /**
     * @return the llavePublicaQueEnvio
     */
    public byte[] getLlavePublicaQueEnvio() {
        return llavePublicaQueEnvio;
    }

    /**
     * @param llavePublicaQueEnvio the llavePublicaQueEnvio to set
     */
    public void setLlavePublicaQueEnvio(byte[] llavePublicaQueEnvio) {
        this.llavePublicaQueEnvio = llavePublicaQueEnvio;
    }

    /**
     * @return the llavePublicaQueRecibo
     */
    public byte[] getLlavePublicaQueRecibo() {
        return llavePublicaQueRecibo;
    }

    /**
     * @param llavePublicaQueRecibo the llavePublicaQueRecibo to set
     */
    public void setLlavePublicaQueRecibo(byte[] llavePublicaQueRecibo) {
        this.llavePublicaQueRecibo = llavePublicaQueRecibo;
    }

    /**
     * @return the llaveAcordada
     */
    public SecretKey getLlaveAcordada() {
        return llaveAcordada;
    }

    /**
     * @param llaveAcordada the llaveAcordada to set
     */
    public void setLlaveAcordada(SecretKey llaveAcordada) {
        this.llaveAcordada = llaveAcordada;
    }

    /**
     *
     * @return
     */
    public PrivateKey getLlavePrivada() {
        return llavePrivada;
    }

   /**
     *
     */
    public void setLlavePrivada(PrivateKey llavePrivada) {
        this.llavePrivada = llavePrivada;
    }

    public Integer getL() {
        return l;
    }

    public void setL(Integer l) {
        this.l = l;
    }

      
}
